package org.road0329.tools.proto_parse_tool.chargingpile.busi;

import com.alibaba.fastjson.annotation.JSONField;

import java.math.BigDecimal;
import java.util.Date;

public class DataPileMonitor extends DataPileMonitorKey {
    private Short status;

    private String faultCode;

    private BigDecimal u;

    private BigDecimal i;

    private Short relayStatus;

    private BigDecimal cumulant;

    private Integer chargeLen;

    private Integer soc;

    private BigDecimal batteryPackTempMax;

    private BigDecimal batteryPackTempMin;

    private BigDecimal batteryUMax;

    private BigDecimal batteryUMin;

    private BigDecimal dcPosTemp;

    private BigDecimal dcNegTemp;

    private Short moduleTotalNum;

    private Short moduleUsableNum;

    private Short moduleHiddenNum;

    /**
     * 最后上线时间，用于插入real表
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date lastOnlineTime;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    public Short getStatus() {
        return status;
    }

    public void setStatus(Short status) {
        this.status = status;
    }

    public String getFaultCode() {
        return faultCode;
    }

    public void setFaultCode(String faultCode) {
        this.faultCode = faultCode == null ? null : faultCode.trim();
    }

    public BigDecimal getU() {
        return u;
    }

    public void setU(BigDecimal u) {
        this.u = u;
    }

    public BigDecimal getI() {
        return i;
    }

    public void setI(BigDecimal i) {
        this.i = i;
    }

    public Short getRelayStatus() {
        return relayStatus;
    }

    public void setRelayStatus(Short relayStatus) {
        this.relayStatus = relayStatus;
    }

    public BigDecimal getCumulant() {
        return cumulant;
    }

    public void setCumulant(BigDecimal cumulant) {
        this.cumulant = cumulant;
    }

    public Integer getChargeLen() {
        return chargeLen;
    }

    public void setChargeLen(Integer chargeLen) {
        this.chargeLen = chargeLen;
    }

    public Integer getSoc() {
        return soc;
    }

    public void setSoc(Integer soc) {
        this.soc = soc;
    }

    public BigDecimal getBatteryPackTempMax() {
        return batteryPackTempMax;
    }

    public void setBatteryPackTempMax(BigDecimal batteryPackTempMax) {
        this.batteryPackTempMax = batteryPackTempMax;
    }

    public BigDecimal getBatteryPackTempMin() {
        return batteryPackTempMin;
    }

    public void setBatteryPackTempMin(BigDecimal batteryPackTempMin) {
        this.batteryPackTempMin = batteryPackTempMin;
    }

    public BigDecimal getBatteryUMax() {
        return batteryUMax;
    }

    public void setBatteryUMax(BigDecimal batteryUMax) {
        this.batteryUMax = batteryUMax;
    }

    public BigDecimal getBatteryUMin() {
        return batteryUMin;
    }

    public void setBatteryUMin(BigDecimal batteryUMin) {
        this.batteryUMin = batteryUMin;
    }

    public BigDecimal getDcPosTemp() {
        return dcPosTemp;
    }

    public void setDcPosTemp(BigDecimal dcPosTemp) {
        this.dcPosTemp = dcPosTemp;
    }

    public BigDecimal getDcNegTemp() {
        return dcNegTemp;
    }

    public void setDcNegTemp(BigDecimal dcNegTemp) {
        this.dcNegTemp = dcNegTemp;
    }

    public Short getModuleTotalNum() {
        return moduleTotalNum;
    }

    public void setModuleTotalNum(Short moduleTotalNum) {
        this.moduleTotalNum = moduleTotalNum;
    }

    public Short getModuleUsableNum() {
        return moduleUsableNum;
    }

    public void setModuleUsableNum(Short moduleUsableNum) {
        this.moduleUsableNum = moduleUsableNum;
    }

    public Short getModuleHiddenNum() {
        return moduleHiddenNum;
    }

    public void setModuleHiddenNum(Short moduleHiddenNum) {
        this.moduleHiddenNum = moduleHiddenNum;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }
}